perm filename HEXOUT.FAI[CMS,LCS] blob sn#302551 filedate 1977-08-30 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00003 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002		TITLE HEX
C00005 00003	XTBL1:	ASCIZ/	0/
C00006 ENDMK
C⊗;
	TITLE HEX
	A←1 ↔B←2↔C←3 ↔D←4 ↔E←5↔X←6↔Y←7↔CKSUM←11
	P←17 ↔ NBUFS←4
PDL:	BLOCK 22
IBUF:	BLOCK 4
OBUF:	BLOCK 4
FILNAM:	'EROM  '
	'OCT   '
	0
	0
FIL2:	'EROM  '
	'HCS   '
	0
	0

STAR:	MOVE P,[PDPO:	IOWD 22,PDL]
	OPEN 11,[14↔'DSK   '↔IBUF]
	JRST 4,.
	INBUF 11,NBUFS
	LOOKUP 11,FILNAM
	JRST 4,.
	OPEN [14↔'DSK   '↔OBUF,,]
	JRST 4,.
	OUTBUF NBUFS
	ENTER FIL2
	JRST 4,.
	
	SETZ CKSUM,

	HRLZI Y,-2000	;-400 FOR 256
LOAD:	PUSHJ P,OUTP
	PUSHJ P,INP
	HRRZ A,1(X)
	LSH A,-4
	ADDI CKSUM,(A)
	MOVEM A,1(Y)
	AOBJP Y,DONE
	HRRZ A,1(X)
	TRZ A,77760
	ADDI CKSUM,(A)
	MOVEM A,1(Y)
	AOBJP Y,DONE
	AOBJN X,LOAD+2
	JRST LOAD

DONE:	
	PUSHJ P,OUTP
	MOVE A,CKSUM
	TRZ A,77760
	MOVEM A,1(Y)

	LSH CKSUM,-4
	MOVE A,CKSUM
	TRZ A,77760
	MOVEM A,2(Y)

	LSH CKSUM,-4
	MOVE A,CKSUM
	TRZ A,77760
	MOVEM A,3(Y)

	LSH CKSUM,-4
	MOVE A,CKSUM
	TRZ A,77760
	MOVEM A,4(Y)

	LSH CKSUM,-4
	MOVE A,CKSUM
	TRZ A,77760
	MOVEM A,5(Y)

	LSH CKSUM,-4
	MOVE A,CKSUM
	TRZ A,77760
	MOVEM A,6(Y)

	LSH CKSUM,-4
	MOVE A,CKSUM
	TRZ A,77760
	MOVEM A,7(Y)
	ADDI Y,7
	PUSHJ P,OUTP
	RELEAS
	EXIT

INP:	HRRM X,IBUF+1
	IN 11,
	JRST SETX
	STATO 11,20000
	JRST 4,.
	OUTSTR ["????"]
	EXIT

OUTP:	HRRM Y,OBUF+1
	OUT
	CAIA
	JRST 4,.
	HRR Y,OBUF+1
	POPJ P,

SETX:	HRRZ X,IBUF+2
	LSH X,-1
	MOVNI X,(X)
	HRLZI X,(X)
	HRR X,IBUF+1
	POPJ P,
XTBL1:	ASCIZ/	0/
	ASCIZ/	1/
	ASCIZ/	2/
	ASCIZ/	3/
	ASCIZ/	4/
	ASCIZ/	5/
	ASCIZ/	6/
	ASCIZ/	7/
	ASCIZ/	8/
	ASCIZ/	9/
	ASCIZ/	A/
	ASCIZ/	B/
	ASCIZ/	C/
	ASCIZ/	D/
	ASCIZ/	E/
	ASCIZ/	F/
XTBL2:	ASCIZ/   0
  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
  A
  B
  C
  D
  E
  F
/
END STAR